buttonbox: Compute clip directly
authorTimm Bäder <mail@baedert.org>
Sun, 25 Jun 2017 16:55:42 +0000 (18:55 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 20 Jul 2017 01:27:14 +0000 (21:27 -0400)
gtk/gtkbbox.c

index f78f5b0dc245b7d3ff567f54c66a6da976b93ba0..549870f1dff88c83cad170d4fbb5d416c36ecf68 100644 (file)
@@ -769,7 +769,8 @@ gtk_button_box_size_allocate (GtkWidget     *widget,
   gint baseline;
   gint child_baseline;
   gint i;
-  GtkAllocation clip;
+  GtkAllocation clip = *allocation;
+  GdkRectangle child_clip;
 
   if (priv->layout_style == GTK_BUTTONBOX_EXPAND)
     {
@@ -1026,6 +1027,8 @@ gtk_button_box_size_allocate (GtkWidget     *widget,
             }
 
           gtk_widget_size_allocate_with_baseline (child, &child_allocation, child_baseline);
+          gtk_widget_get_clip (child, &child_clip);
+          gdk_rectangle_union (&clip, &child_clip, &clip);
           i++;
         }
     }
@@ -1035,8 +1038,6 @@ gtk_button_box_size_allocate (GtkWidget     *widget,
   g_free (heights);
   g_free (baselines);
 
-  gtk_container_get_children_clip (GTK_CONTAINER (widget), &clip);
-
   gtk_widget_set_clip (widget, &clip);
 }